export default {
	install(Vue) {
		
		/*
		|--------------------------------------------------------------------------
		| 全局网站 URL
		|--------------------------------------------------------------------------
		|
		| 注意，网址末尾没有 / 
		|
		*/
	   
		Vue.prototype.$_URL = () => { return "https://www.xxx.co" },
		
		/*
		|--------------------------------------------------------------------------
		| 配置文件 URL
		|--------------------------------------------------------------------------
		|
		| 注意，末尾有 / 
		| 这里的配置文件可以放到其他地方，可以是另一个域名也可以是 CND 上边，针对性的修改
		| 下边的 URL 即可，域名 + 配置文件能访问到即可
		| 比如：https://www.xxx.co/json/index.json
		|
		*/
	   
		Vue.prototype.$_PeiZhi_WenJian = () => { return "https://www.xxx.co/json/" },
		
		/*
		|--------------------------------------------------------------------------
		| 锚点配置
		|--------------------------------------------------------------------------
		|
		| 锚点配置的主要作用是，当用户在 PC 端或者移动端发布帖子或话题等 URL，这个时候
		| 客户端会进行匹配，在客户端内跳转，而非在内置浏览器打开
		| 
		| 以下内容，请打开后台 -> 客户端 -> 路径配置 获取
		| 如果没有改动，保持以下默认即可
		|
		*/
	   
		Vue.prototype.$_PeiZhi_MaoDian = () => {
			return {
				"YongHuZhuYe":"/u/", // ------------- 用户详情页 -> 对应后台 -> 用户主页
				"HuaTiXiangQing":"/hashtag/", // ---- 话题列表页 -> 对应后台 -> 话题详情
				"TieZiXiangQing":"/post/", // ------- 帖子详情页 -> 对应后台 -> 帖子详情
				"XiaoZu":"/group/" // --------------- 小组列表页 -> 对应后台 -> 小组详情
			}
		},
		
		/*
		|--------------------------------------------------------------------------
		| Fresns 通用的 header 配置
		|--------------------------------------------------------------------------
		|
		| Fresns_AppID ------------- AppID 获取位置：控制面板 -> 应用中心 -> 应用密钥 -> App ID
		| Fresns_AppSecret --------- App 密钥 获取位置：控制面板 -> 应用中心 -> 应用密钥 -> App Secret
		|
		*/
		
		Vue.prototype.$_Fresns_Header = () => {
			
			// 必填 开始
			let Fresns_AppID = "AppID",
				Fresns_AppSecret = "AppSecret";
			// 必填 结束
			
			// 保持默认 开始
			let Fresns_Platform = 4,
				Fresns_Version = '1.0.0',
				Fresns_DeviceInfo = '{"networkIpv4": "127.0.0.1"}',
				Fresns_ContentFormat = "html",
				Fresns_Timestamp = new Date().valueOf();
			// 保持默认 结束
			
			// 未登录
			if(!uni.getStorageSync('ZhangHaoXinXi') && !uni.getStorageSync('YongHuXinXi')){
				let QianMing = Vue.prototype.$_MD5(`X-Fresns-App-Id=${Fresns_AppID}&X-Fresns-Client-Platform-Id=${Fresns_Platform}&X-Fresns-Client-Version=${Fresns_Version}&X-Fresns-Signature-Timestamp=${Fresns_Timestamp}&AppSecret=${Fresns_AppSecret}`,32);
				return {
					"X-Fresns-App-Id":Fresns_AppID,
					"X-Fresns-Client-Content-Format":Fresns_ContentFormat,
					"X-Fresns-Client-Platform-Id":Fresns_Platform,
					"X-Fresns-Client-Version":Fresns_Version,
					"X-Fresns-Client-Device-Info":Fresns_DeviceInfo,
					"X-Fresns-Signature-Timestamp":Fresns_Timestamp,
					"X-Fresns-Signature":QianMing
				}
			}
			// 已登录账号
			if(uni.getStorageSync('ZhangHaoXinXi') && !uni.getStorageSync('YongHuXinXi')){
				let aid = uni.getStorageSync('ZhangHaoXinXi').data.detail.aid,
					aidtoken = uni.getStorageSync('ZhangHaoXinXi').data.sessionToken.token;
				let QianMing = Vue.prototype.$_MD5(`X-Fresns-Aid=${aid}&X-Fresns-Aid-Token=${aidtoken}&X-Fresns-App-Id=${Fresns_AppID}&X-Fresns-Client-Platform-Id=${Fresns_Platform}&X-Fresns-Client-Version=${Fresns_Version}&X-Fresns-Signature-Timestamp=${Fresns_Timestamp}&AppSecret=${Fresns_AppSecret}`,32);
				return {
					"X-Fresns-App-Id":Fresns_AppID,
					"X-Fresns-Client-Content-Format":Fresns_ContentFormat,
					"X-Fresns-Client-Platform-Id":Fresns_Platform,
					"X-Fresns-Client-Version":Fresns_Version,
					"X-Fresns-Client-Device-Info":Fresns_DeviceInfo,
					"X-Fresns-Signature-Timestamp":Fresns_Timestamp,
					"X-Fresns-Signature":QianMing,
					"X-Fresns-Aid":aid,
					"X-Fresns-Aid-Token":aidtoken
				}
			}
			// 已登录账号 && 已登录用户
			if(uni.getStorageSync('ZhangHaoXinXi') && uni.getStorageSync('YongHuXinXi')){
				let aid = uni.getStorageSync('ZhangHaoXinXi').data.detail.aid,
					aidtoken = uni.getStorageSync('ZhangHaoXinXi').data.sessionToken.token,
					uid = uni.getStorageSync('YongHuXinXi').data.detail.uid,
					uidtoken = uni.getStorageSync('YongHuXinXi').data.sessionToken.token;
				let QianMing = Vue.prototype.$_MD5(`X-Fresns-Aid=${aid}&X-Fresns-Aid-Token=${aidtoken}&X-Fresns-App-Id=${Fresns_AppID}&X-Fresns-Client-Platform-Id=${Fresns_Platform}&X-Fresns-Client-Version=${Fresns_Version}&X-Fresns-Signature-Timestamp=${Fresns_Timestamp}&X-Fresns-Uid=${uid}&X-Fresns-Uid-Token=${uidtoken}&AppSecret=${Fresns_AppSecret}`,32);
				return {
					"X-Fresns-App-Id":Fresns_AppID,
					"X-Fresns-Client-Content-Format":Fresns_ContentFormat,
					"X-Fresns-Client-Platform-Id":Fresns_Platform,
					"X-Fresns-Client-Version":Fresns_Version,
					"X-Fresns-Client-Device-Info":Fresns_DeviceInfo,
					"X-Fresns-Signature-Timestamp":Fresns_Timestamp,
					"X-Fresns-Signature":QianMing,
					"X-Fresns-Aid":aid,
					"X-Fresns-Aid-Token":aidtoken,
					"X-Fresns-Uid":uid,
					"X-Fresns-Uid-Token":uidtoken
				}
			}
		},
		
		/*
		|--------------------------------------------------------------------------
		| uni.request() 网络请求方法 封装
		|--------------------------------------------------------------------------
		|
		| 使用例子：
		|
		| this.$_QingQiu(
		| 	"GET","/api/v2/post/list",
		| 	{
		| 		"uidOrUsername":uidOrUsername,
		| 	},
		| 	(res) => {
		| 		成功返回
		| 	}
		| )
		|
		*/
	   
		Vue.prototype.$_QingQiu = (LeiXing,url,data={},success) => {
			uni.request({
				url:Vue.prototype.$_URL() + url,
				method:LeiXing,
				header:Vue.prototype.$_Fresns_Header(),
				data: {
					...data
				},
				success: (res) => {
					success(res)
				}
			})
		},
	   
		/*
		|--------------------------------------------------------------------------
		| 通用跳转，uni.navigateTo，新页面打开
		|--------------------------------------------------------------------------
		*/
	   
		Vue.prototype.$_TiaoZhuan = (URL,Token) => {
			if(Token){
				if(uni.getStorageSync('ZhangHaoXinXi') && uni.getStorageSync('YongHuXinXi')){
					uni.navigateTo({
						url: "/pages/" + URL
					});
				}else{
					uni.showToast({
						title:"未登录，请先登陆",
						icon:"none",
						duration:1000
					});
				}
			}else{
				uni.navigateTo({
					url: "/pages/" + URL
				});
			}
		},
		
		/*
		|--------------------------------------------------------------------------
		| 打开带类型的路由
		|--------------------------------------------------------------------------
		|
		| 这里主要应用于自定义 DIY 组件时候用到的。
		|
		*/
	   
		Vue.prototype.$_LeiXing_TiaoZhuan = (LeiXing,URL) => {
			// 1,小组 | 2,话题 | 3,帖子 | 4,用户 | 5,评论 | 6,小程序 | 7,URL | 8,页面1-18
			if(LeiXing == 1){
				uni.navigateTo({
					url:"/pages/_Lie_XiaoZu/_Lie_XiaoZu?gid="+URL
				})
			}
			if(LeiXing == 2){
				uni.navigateTo({
					url:"/pages/_Lie_HuaTi/_Lie_HuaTi?hid="+URL
				})
			}
			if(LeiXing == 3){
				uni.navigateTo({
					url:"/pages/_XiangQing_TieZi/_XiangQing_TieZi?pid="+URL
				})
			}
			if(LeiXing == 4){
				uni.navigateTo({
					url:"/pages/_YongHu/_YongHu?username="+URL
				})
			}
			if(LeiXing == 5){
				uni.showToast({
					title: "暂未开启",
					icon: "none",
					duration: 1000
				});
			}
			if(LeiXing == 6){
				uni.showToast({
					title: "暂未开启",
					icon: "none",
					duration: 1000
				});
			}
			if(LeiXing == 7){
				// #ifdef APP-PLUS || H5
				uni.navigateTo({
					url:"/pages/_Z_GongYong/Web_View?url="+URL
				})
				// #endif
				
				// #ifndef APP-PLUS || H5
				uni.setClipboardData({
					data: URL,
					success: (res) => {
						uni.showToast({
							title: "已复制，请粘贴",
							icon: "none",
							duration: 1000
						});
					}
				});
				// #endif
			}
			if(LeiXing == 8){
				uni.navigateTo({
					url:"/pages/_ZiDingYi_YeMian/_ZiDingYi_YeMian_"+URL
				})
			}
		},
		
		/*
		|--------------------------------------------------------------------------
		| MD5 加密算法
		|--------------------------------------------------------------------------
		*/
	   
		Vue.prototype.$_MD5 = (string, bit) => {
			function md5_RotateLeft(lValue, iShiftBits) {
				return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
			}
			function md5_AddUnsigned(lX, lY) {
				let lX4, lY4, lX8, lY8, lResult;
				lX8 = (lX & 0x80000000);
				lY8 = (lY & 0x80000000);
				lX4 = (lX & 0x40000000);
				lY4 = (lY & 0x40000000);
				lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);
				if (lX4 & lY4) {
					return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
				}
				if (lX4 | lY4) {
					if (lResult & 0x40000000) {
						return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
					} else {
						return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
					}
				} else {
					return (lResult ^ lX8 ^ lY8);
				}
			}
			function md5_F(x, y, z) {
				return (x & y) | ((~x) & z);
			}
			function md5_G(x, y, z) {
				return (x & z) | (y & (~z));
			}
			function md5_H(x, y, z) {
				return (x ^ y ^ z);
			}
			function md5_I(x, y, z) {
				return (y ^ (x | (~z)));
			}
			function md5_FF(a, b, c, d, x, s, ac) {
				a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_F(b, c, d), x), ac));
				return md5_AddUnsigned(md5_RotateLeft(a, s), b);
			};
			function md5_GG(a, b, c, d, x, s, ac) {
				a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_G(b, c, d), x), ac));
				return md5_AddUnsigned(md5_RotateLeft(a, s), b);
			};
			function md5_HH(a, b, c, d, x, s, ac) {
				a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_H(b, c, d), x), ac));
				return md5_AddUnsigned(md5_RotateLeft(a, s), b);
			};
			function md5_II(a, b, c, d, x, s, ac) {
				a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_I(b, c, d), x), ac));
				return md5_AddUnsigned(md5_RotateLeft(a, s), b);
			};
			function md5_ConvertToWordArray(string) {
				let lWordCount;
				let lMessageLength = string.length;
				let lNumberOfWords_temp1 = lMessageLength + 8;
				let lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
				let lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
				let lWordArray = Array(lNumberOfWords - 1);
				let lBytePosition = 0;
				let lByteCount = 0;
				while (lByteCount < lMessageLength) {
					lWordCount = (lByteCount - (lByteCount % 4)) / 4;
					lBytePosition = (lByteCount % 4) * 8;
					lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) <<
						lBytePosition));
				lByteCount++;
				}
				lWordCount = (lByteCount - (lByteCount % 4)) / 4;
				lBytePosition = (lByteCount % 4) * 8;
				lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
				lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
				lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
				return lWordArray;
			};
			function md5_WordToHex(lValue) {
				let WordToHexValue = "",
					WordToHexValue_temp = "",
					lByte, lCount;
				for (lCount = 0; lCount <= 3; lCount++) {
					lByte = (lValue >>> (lCount * 8)) & 255;
					WordToHexValue_temp = "0" + lByte.toString(16);
					WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
				}
				return WordToHexValue;
			};
			function md5_Utf8Encode(string) {
				string = string.replace(/\r\n/g, "\n");
				let utftext = "";
				for (let n = 0; n < string.length; n++) {
					let c = string.charCodeAt(n);
					if (c < 128) {
						utftext += String.fromCharCode(c);
					} else if ((c > 127) && (c < 2048)) {
						utftext += String.fromCharCode((c >> 6) | 192);
						utftext += String.fromCharCode((c & 63) | 128);
					} else {
						utftext += String.fromCharCode((c >> 12) | 224);
						utftext += String.fromCharCode(((c >> 6) & 63) | 128);
						utftext += String.fromCharCode((c & 63) | 128);
					}
				}
				return utftext;
			};
			let x = Array();
			let k, AA, BB, CC, DD, a, b, c, d;
			let S11 = 7,
				S12 = 12,
				S13 = 17,
				S14 = 22;
			let S21 = 5,
				S22 = 9,
				S23 = 14,
				S24 = 20;
			let S31 = 4,
				S32 = 11,
				S33 = 16,
				S34 = 23;
			let S41 = 6,
				S42 = 10,
				S43 = 15,
				S44 = 21;
			string = md5_Utf8Encode(string);
			x = md5_ConvertToWordArray(string);
			a = 0x67452301;
			b = 0xEFCDAB89;
			c = 0x98BADCFE;
			d = 0x10325476;
			for (k = 0; k < x.length; k += 16) {
				AA = a;
				BB = b;
				CC = c;
				DD = d;
				a = md5_FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);
				d = md5_FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);
				c = md5_FF(c, d, a, b, x[k + 2], S13, 0x242070DB);
				b = md5_FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);
				a = md5_FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);
				d = md5_FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);
				c = md5_FF(c, d, a, b, x[k + 6], S13, 0xA8304613);
				b = md5_FF(b, c, d, a, x[k + 7], S14, 0xFD469501);
				a = md5_FF(a, b, c, d, x[k + 8], S11, 0x698098D8);
				d = md5_FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);
				c = md5_FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
				b = md5_FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);
				a = md5_FF(a, b, c, d, x[k + 12], S11, 0x6B901122);
				d = md5_FF(d, a, b, c, x[k + 13], S12, 0xFD987193);
				c = md5_FF(c, d, a, b, x[k + 14], S13, 0xA679438E);
				b = md5_FF(b, c, d, a, x[k + 15], S14, 0x49B40821);
				a = md5_GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);
				d = md5_GG(d, a, b, c, x[k + 6], S22, 0xC040B340);
				c = md5_GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);
				b = md5_GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);
				a = md5_GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);
				d = md5_GG(d, a, b, c, x[k + 10], S22, 0x2441453);
				c = md5_GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);
				b = md5_GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);
				a = md5_GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);
				d = md5_GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);
				c = md5_GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);
				b = md5_GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);
				a = md5_GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);
				d = md5_GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);
				c = md5_GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);
				b = md5_GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);
				a = md5_HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);
				d = md5_HH(d, a, b, c, x[k + 8], S32, 0x8771F681);
				c = md5_HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);
				b = md5_HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);
				a = md5_HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);
				d = md5_HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);
				c = md5_HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);
				b = md5_HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);
				a = md5_HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);
				d = md5_HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);
				c = md5_HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);
				b = md5_HH(b, c, d, a, x[k + 6], S34, 0x4881D05);
				a = md5_HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);
				d = md5_HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);
				c = md5_HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);
				b = md5_HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);
				a = md5_II(a, b, c, d, x[k + 0], S41, 0xF4292244);
				d = md5_II(d, a, b, c, x[k + 7], S42, 0x432AFF97);
				c = md5_II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);
				b = md5_II(b, c, d, a, x[k + 5], S44, 0xFC93A039);
				a = md5_II(a, b, c, d, x[k + 12], S41, 0x655B59C3);
				d = md5_II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);
				c = md5_II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);
				b = md5_II(b, c, d, a, x[k + 1], S44, 0x85845DD1);
				a = md5_II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);
				d = md5_II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);
				c = md5_II(c, d, a, b, x[k + 6], S43, 0xA3014314);
				b = md5_II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);
				a = md5_II(a, b, c, d, x[k + 4], S41, 0xF7537E82);
				d = md5_II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);
			c = md5_II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);
				b = md5_II(b, c, d, a, x[k + 9], S44, 0xEB86D391);
				a = md5_AddUnsigned(a, AA);
				b = md5_AddUnsigned(b, BB);
				c = md5_AddUnsigned(c, CC);
				d = md5_AddUnsigned(d, DD);
			}
			if (bit == 32) {
				return (md5_WordToHex(a) + md5_WordToHex(b) + md5_WordToHex(c) + md5_WordToHex(d)).toLowerCase();
			}
			return (md5_WordToHex(b) + md5_WordToHex(c)).toLowerCase();
		},
		
		/*
		|--------------------------------------------------------------------------
		| 过滤 HTML 内容中的 A 标签
		|--------------------------------------------------------------------------
		*/
	   
		Vue.prototype.$_GuoLv_HTML_A = (db) => {
			let str = db;
			str=str.replace(/(<\/?a.*?>)|(<\/?span.*?>)/g, '');
			return str
		},
		
		/*
		|--------------------------------------------------------------------------
		| 过滤所有 HTML 标签
		|--------------------------------------------------------------------------
		*/
	   
		Vue.prototype.$_GuoLv_HTML = (db) => {
			let str = db;
			str = str.replace(/<.*?>/g,"");
			return str
		},

		/*
		|--------------------------------------------------------------------------
		| 字符串 转 base64 ，主要应用于 微信小程序
		|--------------------------------------------------------------------------
		*/
	   
		Vue.prototype.$_ZiFuChuan_Zhuan_base64 = (str) => {
			let c1, c2, c3;
			let base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
			let i = 0, len = str.length, string = '';
			
			while (i < len) {
				c1 = str.charCodeAt(i++) & 0xff;
				if (i == len) {
					string += base64EncodeChars.charAt(c1 >> 2);
					string += base64EncodeChars.charAt((c1 & 0x3) << 4);
					string += "==";
					break;
				}
				c2 = str.charCodeAt(i++);
				if (i == len) {
					string += base64EncodeChars.charAt(c1 >> 2);
					string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
					string += base64EncodeChars.charAt((c2 & 0xF) << 2);
					string += "=";
					break;
				}
				c3 = str.charCodeAt(i++);
				string += base64EncodeChars.charAt(c1 >> 2);
				string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
				string += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
				string += base64EncodeChars.charAt(c3 & 0x3F)
			}
			return string
		},
		
		/*
		|--------------------------------------------------------------------------
		| 监听是否有消息
		|--------------------------------------------------------------------------
		|
		| 如果有消息，尾部导航消息按钮则有一个小红点
		|
		*/
		
		Vue.prototype.$_ShiFou_You_XiaoXi = () => {
			uni.request({
				url:Vue.prototype.$_URL() + "/api/v2/user/panel",
				method:"GET",
				header:Vue.prototype.$_Fresns_Header(),
				success: (res) => {
					if(uni.getStorageSync('ZhangHaoXinXi') && uni.getStorageSync('YongHuXinXi')){
						let TiJi = res.data.data.unreadNotifications.mentions,
							HuiFu = res.data.data.unreadNotifications.comments,
							DuiHua = res.data.data.conversations.unreadMessages;
						if(TiJi || HuiFu || DuiHua){
							uni.showTabBarRedDot({
								index: 3
							})
						}else{
							uni.hideTabBarRedDot({
								index: 3
							})
						}
					}
					
				}
			})
		},
		
		/*
		|--------------------------------------------------------------------------
		| 内容外部URL锚点转客户端内部锚点
		|--------------------------------------------------------------------------
		|
		| 正则替换为 App 内部路由地址
		|
		*/
		
		Vue.prototype.$_HTML_MaoDian_Zhuan_App_MaoDian = (e) => {
			let YongHuZhuYe = Vue.prototype.$_PeiZhi_MaoDian().YongHuZhuYe;
			let HuaTiXiangQing = Vue.prototype.$_PeiZhi_MaoDian().HuaTiXiangQing;
			
			let TieZiXiangQing = Vue.prototype.$_PeiZhi_MaoDian().TieZiXiangQing;
			let XiaoZu = Vue.prototype.$_PeiZhi_MaoDian().XiaoZu;
			
			
			let URL_YongHuZhuYe = Vue.prototype.$_URL()+Vue.prototype.$_PeiZhi_MaoDian().YongHuZhuYe;
			let URL_HuaTiXiangQing = Vue.prototype.$_URL()+Vue.prototype.$_PeiZhi_MaoDian().HuaTiXiangQing;
			
			let URL_TieZiXiangQing = Vue.prototype.$_URL()+Vue.prototype.$_PeiZhi_MaoDian().TieZiXiangQing;
			let URL_XiaoZu = Vue.prototype.$_URL()+Vue.prototype.$_PeiZhi_MaoDian().XiaoZu;
			
			let aaa = e.replace(new RegExp(URL_YongHuZhuYe, 'g'), '/pages/_XiangQing_YongHu/_XiangQing_YongHu?username=');
			let bbb = aaa.replace(new RegExp(URL_HuaTiXiangQing, 'g'), '/pages/_Lie_HuaTi/_Lie_HuaTi?hid=');
			
			let ccc = bbb.replace(new RegExp(URL_TieZiXiangQing, 'g'), '/pages/_XiangQing_TieZi/_XiangQing_TieZi?pid=');
			let ddd = ccc.replace(new RegExp(URL_XiaoZu, 'g'), '/pages/_Lie_XiaoZu/_Lie_XiaoZu?gid=');
			
			return ddd
		}
	}
};
